package com.example.gui.todos.model;

import javafx.beans.property.BooleanProperty;  
import javafx.beans.property.SimpleBooleanProperty;  
import javafx.beans.property.SimpleStringProperty;  
import javafx.beans.property.StringProperty;

import java.io.Serializable;

// 待办事项模型类（使用JavaFX属性，支持数据绑定）  
public class Todo implements Serializable {
    private final StringProperty content;       // 待办内容（字符串属性，支持绑定）  
    private final BooleanProperty isCompleted;  // 是否完成（布尔属性，支持绑定）  

    public Todo(String content) {  
        this.content = new SimpleStringProperty(content);  
        this.isCompleted = new SimpleBooleanProperty(false); // 默认未完成  
    }  

    // Getter/Setter（JavaFX属性需暴露Property对象，供UI绑定）  
    public String getContent() { return content.get(); }  
    public StringProperty contentProperty() { return content; }  
    public void setContent(String content) { this.content.set(content); }  

    public boolean isCompleted() { return isCompleted.get(); }  
    public BooleanProperty isCompletedProperty() { return isCompleted; }  
    public void setCompleted(boolean completed) { this.isCompleted.set(completed); }  
}